﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BO
{
    public class NoticiaVereadorBO
    {
       #region Contrutores
        public NoticiaVereadorBO()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        #endregion

        #region Leitores      
        public static NoticiaVereador Selecionar(int id)
        {
            try
            {
                var bco = new ModeloContainer();
                var obj = bco.NoticiaVereadors.FirstOrDefault(f => f.id == id);
                if (obj == null) { throw new Exception("Noticia - Vereador não encontrado!"); }
                return obj;
            }
            catch (Exception ex)
            {
                throw new Exception("Selecionar() - " + ex.Message.ToString());
            }
        }
        #endregion

        #region Modificadores
        public static NoticiaVereador Salvar(NoticiaVereador novoObjeto)
        {
            try
            {
                var bco = new ModeloContainer();
                // Faz o INSERT
                if (novoObjeto.id == 0)
                {
                    bco.NoticiaVereadors.AddObject(novoObjeto);
                    bco.SaveChanges();
                }

                // Faz o UPDATE
                else
                {
                    var obj = bco.NoticiaVereadors.FirstOrDefault(g => g.id == novoObjeto.id);

                    if (obj != null)
                    {
                        obj.noticiaID = novoObjeto.noticiaID;
                        obj.vereadorID = novoObjeto.vereadorID;

                        bco.SaveChanges();

                        return obj;
                    }
                }

                return novoObjeto;    
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
        }
        public static void Excluir(int id)
        {
            try
            {
                var bco = new ModeloContainer();
                var obj = bco.NoticiaVereadors.FirstOrDefault(x => x.id == id);
                if (obj != null)
                {
                    bco.NoticiaVereadors.DeleteObject(obj);
                    bco.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Excluir - " + ex.Message.ToString());
            }
        }
        #endregion
    }
}
